import urls from '@/common/url.js';
export default {
	data() {
		return {
			address: '城市'
		}
	},
	onShow() {},
	methods: {
		async getsm() {
			return new Promise((resolve, reject) => {
				this.$request('front/user/getAuth').then((res) => {
					resolve(res.obj)
				});
			});
		},
		uploadFilePromise(url) {
			return new Promise((resolve, reject) => {
				let a = uni.uploadFile({
					url: `${urls.url}front/search/uploadFile`,
					filePath: url,
					name: 'file',
					header: {
						token: uni.getStorageSync('token')
					},
					success: (res) => {
						setTimeout(() => {
							resolve(JSON.parse(res.data).obj);
						}, 1000);
					}
				});
			});
		},
		//统计
		statis(id, type) {
			this.$request('front/post/countPost', {
				type,
				id
			})
		},
		/** 收藏
		 * @param {id}
		 * @param {type}类型 1岗位 2基地 3培训
		 */
		collect(id, type) {
			this.$request('front/collection/operation', {
				id,
				type
			}).then((res) => {
				console.log(res, '收藏');
				this.$tools.toast('操作成功')
			});
		},
		toCommunity() {
			const that = this
			return new Promise((resolve, reject) => {
				uni.getSetting({
					success: (res) => {
						const status = res.authSetting
						// 如果当前设置是：不允许，则需要弹框提醒客户，需要前往设置页面打开授权
						if (!status['scope.userLocation']) {
							uni.showModal({
								title: "是否授权当前位置",
								content: "需要获取您的地理位置，请确认授权，否则地图功能将无法使用",
								success: (tip) => {
									if (tip.confirm) {
										// 如果已经拒绝过，则需要打开设置页面，授权弹框不会弹出第二次，因为已经明确拒绝/确认过了（微信的原因）
										if (that.isDeny) {
											wx.openSetting({
												success: function(res) {
													// 在设置页面授权成功后再次获取位置信息
													uni.showToast({
														title: "授权成功",
													})
													that.isDeny = false
													// 修改授权后返回页面，弹框消失，需要再点一次
												},
												fail: (data) => {
													console.log(data)
													// isDeny 是否拒绝过授权，如果拒绝过，再点击按钮的话，弹框确认后就直接打开微信小程序设置页
													that.isDeny = true
												}
											})
											return
										}
										// 如果点击了确认，并且没有拒绝过微信系统授权弹框，则会弹出授权位置信息的弹框
										uni.authorize({
											scope: "scope.userLocation",
											success: (data) => {
												// 授权弹框点击确认
												console.log(data)
												// 如果用户同意授权，则打开授权设置页面，判断用户的操作
												uni.openSetting({
													success: (
														data
													) => {
														// 如果用户授权了地理信息在，则提示授权成功
														if (data
															.authSetting[
																'scope.userLocation'
															] ===
															true
														) {
															uni.showToast({
																title: "授权成功",
																icon: "none",
																duration: 1000
															})
														}
													}
												})
											},
											fail: (data) => {
												// 如果用户拒绝授权，则提示用户需要授权
												uni.showToast({
													title: "您已拒绝授权，请重新授权",
													icon: "none",
													duration: 1000
												})
												that.isDeny = true
											}
										})
									}
								}
							})
						} else {
							uni.chooseLocation({
								success: (res) => {
									resolve(res)
								},
								fail: () => {}
							})
						}
					},
					fail: () => {
						fail: (res) => {
							uni.showToast({
								title: '调用授权窗口失败',
								icon: 'none',
								duration: 1000
							});
						}
					},
				})
			});
		},
		getMapLocation() {
			const that = this
			uni.getLocation({
				type: 'wgs84',
				success: function(res) {
					console.log(res, '定位');
					console.log('当前位置的经度：' + res.longitude);
					console.log('当前位置的纬度：' + res.latitude);
					const data = {
						dimension: res.latitude,
						longitude: res.longitude

					}
					that.$request('front/user/getAddress', data).then(res => {
						console.log(res, '地点');
						that.address = res.obj.city
					})
				},
				fail: () => {
					// 如果用uni.chooseLocation没有获取到地理位置，则需要获取当前的授权信息，判断是否有地理授权信息
					uni.getSetting({
						success: (res) => {
							console.log(res);
							var status = res.authSetting;
							if (!status['scope.userLocation']) {
								// 如果授权信息中没有地理位置的授权，则需要弹窗提示用户需要授权地理信息
								uni.showModal({
									title: '是否授权当前位置',
									content: '需要获取您的当前城市位置才能查看当前城市的岗位情况，请确认是否授权',
									success: (tip) => {
										if (tip.confirm) {
											// 如果用户同意授权地理信息，则打开授权设置页面，判断用户的操作
											uni.openSetting({
												success: (data) => {
													// 如果用户授权了地理信息在，则提示授权成功
													if (data
														.authSetting[
															'scope.userLocation'
														] === true
													) {
														uni.showToast({
															title: '授权成功',
															icon: 'success',
															duration: 1000
														});
														// 授权成功后，然后再次chooseLocation获取信息
														uni.chooseLocation({
															success: (
																res
															) => {
																console
																	.log(
																		'详细地址',
																		res
																	);
																// this.getRegionFn(res);
															}
														});
													} else {
														uni.showToast({
															title: '授权失败',
															icon: 'none',
															duration: 1000
														});
													}
												}
											});
										}
									}
								});
							}
						},
						fail: (res) => {
							uni.showToast({
								title: '调用授权窗口失败',
								icon: 'none',
								duration: 1000
							});
						}
					});
				}
			});
		},
		outlogins() {
			this.$request('front/user/logout').then(res => {
				this.$tools.toast('操作成功')
				setTimeout(() => {
					this.$tools.navigiteTo('/pages/index/index');
				})
			})
		}
	},
}